package com.ssy.lingxi.order.service.mobile;

import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.order.model.vo.mobile.response.MobileAchievementCountQueryVO;

import java.time.LocalDate;

/**
 * 业务员微信小程序-业务员业绩每月统计相关接口
 *
 * @author 郑小翠
 * @version 2.02.18
 * @date 2022-03-28
 */
public interface IMobileWechatAppletSalesmanPerformanceStatisticsService {

    /**
     * 添加业务员业绩月份统计
     *
     * @param mobileAchievementCountQueryVO 业务员业绩统计VO
     */
    void insertSalesmanPerformanceStatistics(MobileAchievementCountQueryVO mobileAchievementCountQueryVO);

    /**
     * 修改业务员业绩月份统计
     *
     * @param mobileAchievementCountQueryVO 业务员业绩统计VO
     */
    void updateSalesmanPerformanceStatistics(MobileAchievementCountQueryVO mobileAchievementCountQueryVO);

    /**
     * 分页查询业务员业绩统计
     *
     * @param memberUserId 业务员Id
     * @param pageVO       分页信息
     * @return 分页返回业务员业绩统计信息
     */
    Wrapper<PageData<MobileAchievementCountQueryVO>> pageSalesmanPerformanceStatistics(Long memberUserId, PageVO pageVO);

    /**
     * 根据业务员Id和统计月份查询
     *
     * @param memberUserId     业务员Id
     * @param monthStatistical 统计月份
     * @return 返回业务员业绩统计信息
     */
    Wrapper<MobileAchievementCountQueryVO> findByMemberUserIdAndMonthStatistical(Long memberUserId, LocalDate monthStatistical);
}
